//
//  LYHud.h
//  LYHudKit-SourceCode
//
//  Created by cqck on 2018/7/13.
//

#import <UIKit/UIKit.h>

///回调都在主线程
typedef void(^hudFinishBlock)(void);

@interface LYHud : NSObject

/*!
 * 显示带成功图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param finishBlock hud消失block
 *  return  返回MBProgressHUD实例
 */
+ (void)showSuccessWithMessage:(NSString *)message finishBlock:(hudFinishBlock)finishBlock;

/*!
 * 显示带成功图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  return  返回MBProgressHUD实例
 */
+ (void)showSuccessWithMessage:(NSString *)message;

/*!
 * 显示带错误图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param finishBlock hud消失block
 *  return  返回MBProgressHUD实例
 */
+ (void)showErrorWithMessage:(NSString *)message finishBlock:(hudFinishBlock)finishBlock;

/*!
 * 显示带错误图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  return  返回MBProgressHUD实例
 */
+ (void)showErrorWithMessage:(NSString *)message;

/*!
 *  显示带警告图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param finishBlock hud消失block
 *  return  返回MBProgressHUD实例
 */
+ (void)showWarnWithMessage:(NSString *)message finishBlock:(hudFinishBlock)finishBlock;

/*!
 *  显示带警告图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  return  返回MBProgressHUD实例
 */
+ (void)showWarnWithMessage:(NSString *)message;

/*!
 *  显示纯文字的提示框
 *
 *  param message     提示信息
 *  param finishBlock hud消失block
 *  return  返回MBProgressHUD实例
 */
+ (void)showNormalWithMessage:(NSString *)message autoHidden:(BOOL)hidden finishBlock:(hudFinishBlock)finishBlock;

/*!
 *  显示纯文字的提示框
 *
 *  param message     提示信息
 *  return  返回MBProgressHUD实例
 */
+ (void)showNormalWithMessage:(NSString *)message autoHidden:(BOOL)hidden;

/*!
 * 显示带成功图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param finishBlock hud消失block
 *   param toView 显示的父视图
 *  return  返回MBProgressHUD实例
 */
+ (void)showSuccessWithMessage:(NSString *)message toView:(UIView *)toView finishBlock:(hudFinishBlock)finishBlock;

/*!
 * 显示带成功图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *     param toView 显示的父视图
 *  return  返回MBProgressHUD实例
 */
+ (void)showSuccessWithMessage:(NSString *)message toView:(UIView *)toView;

/*!
 * 显示带错误图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param toView 显示的父视图
 *  param finishBlock hud消失block
 *  return  返回MBProgressHUD实例
 */
+ (void)showErrorWithMessage:(NSString *)message toView:(UIView *)toView finishBlock:(hudFinishBlock)finishBlock;

/*!
 * 显示带错误图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param toView 显示的父视图
 *  return  返回MBProgressHUD实例
 */
+ (void)showErrorWithMessage:(NSString *)message toView:(UIView *)toView;

/*!
 *  显示带警告图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param toView 显示的父视图
 *  param finishBlock hud消失block
 *  return  返回MBProgressHUD实例
 */
+ (void)showWarnWithMessage:(NSString *)message toView:(UIView *)toView finishBlock:(hudFinishBlock)finishBlock;

/*!
 *  显示带警告图片的提示框,延迟1.5秒自动消失
 *
 *  param message     提示信息
 *  param toView 显示的父视图
 *  return  返回MBProgressHUD实例
 */
+ (void)showWarnWithMessage:(NSString *)message toView:(UIView *)toView;

/*!
 *  显示纯文字的提示框
 *
 *  param message     提示信息
 *  param toView 显示的父视图
 *  param finishBlock hud消失block
 *  return  返回MBProgressHUD实例
 */
+ (void)showNormalWithMessage:(NSString *)message toView:(UIView *)toView autoHidden:(BOOL)hidden finishBlock:(hudFinishBlock)finishBlock;

/*!
 *  显示纯文字的提示框
 *
 *  param message     提示信息
 *  param toView 显示的父视图
 *  return  返回MBProgressHUD实例
 */
+ (void)showNormalWithMessage:(NSString *)message toView:(UIView *)toView autoHidden:(BOOL)hidden;

/*!
 *  手动隐藏提示框
 */
+ (void)hiddenMessage;

/*!
 *  手动隐藏提示框
 *  param view     隐藏的view
 */
+ (void)hiddenMessageWithView:(UIView *)view;

@end
